home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1992-09-19 | 4.5 KB | [TEXT/MPS ] |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
You can browse this item here: dlrgint.c
Confidence | Program | Detection | Match Type | Support
|
---|
66%
| dexvert
| Compact Compressed (Unix) (archive/compact)
| ext
| Supported |
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, Fri Sep 18 22:12:35 1992, modified Fri Sep 18 22:12:35 1992, creator 'MPS ', type ASCII, 3939 bytes "dlrgint.c" , at 0xfe3 428 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [MPS ] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 09 64 6c 72 67 69 6e | 74 2e 63 00 00 00 00 00 |..dlrgin|t.c.....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 00 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 0f 63 00 | 00 01 ac a6 e0 3d 13 a6 |......c.|.....=..|
|00000060| e0 3d 13 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.=......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 8f d8 00 00 |........|........|
|00000080| 2f 2a 0d 20 2a 20 64 6c | 72 67 69 6e 74 2e 63 20 |/*. * dl|rgint.c |
|00000090| 2d 20 76 65 72 73 69 6f | 6e 73 20 6f 66 20 22 6c |- versio|ns of "l|
|000000a0| 61 72 67 65 20 69 6e 74 | 65 67 65 72 22 20 72 6f |arge int|eger" ro|
|000000b0| 75 74 69 6e 65 73 20 66 | 6f 72 20 63 6f 6d 70 69 |utines f|or compi|
|000000c0| 6c 65 64 20 70 72 6f 67 | 72 61 6d 73 0d 20 2a 20 |led prog|rams. * |
|000000d0| 20 20 74 68 61 74 20 64 | 6f 20 6e 6f 74 20 73 75 | that d|o not su|
|000000e0| 70 70 6f 72 74 20 6c 61 | 72 67 65 20 69 6e 74 65 |pport la|rge inte|
|000000f0| 67 65 72 73 2e 0d 20 2a | 2f 0d 23 64 65 66 69 6e |gers.. *|/.#defin|
|00000100| 65 20 43 4f 4d 50 49 4c | 45 52 20 31 0d 23 69 6e |e COMPIL|ER 1.#in|
|00000110| 63 6c 75 64 65 20 22 3a | 3a 68 3a 72 74 2e 68 22 |clude ":|:h:rt.h"|
|00000120| 0d 0d 2f 2a 0d 20 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |../*. **|********|
|00000130| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000140| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000150| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000160| 2a 2a 2a 2a 2a 2a 2a 0d | 20 2a 0d 20 2a 20 52 6f |*******.| *. * Ro|
|00000170| 75 74 69 6e 65 73 20 69 | 6e 20 74 68 65 20 66 69 |utines i|n the fi|
|00000180| 72 73 74 20 73 65 74 20 | 61 72 65 20 6f 6e 6c 79 |rst set |are only|
|00000190| 20 63 61 6c 6c 65 64 20 | 77 68 65 6e 20 6c 61 72 | called |when lar|
|000001a0| 67 65 20 69 6e 74 65 67 | 65 72 73 0d 20 2a 20 20 |ge integ|ers. * |
|000001b0| 65 78 69 73 74 20 61 6e | 64 20 74 68 75 73 20 74 |exist an|d thus t|
|000001c0| 68 65 73 65 20 76 65 72 | 73 69 6f 6e 73 20 77 69 |hese ver|sions wi|
|000001d0| 6c 6c 20 6e 65 76 65 72 | 20 62 65 20 63 61 6c 6c |ll never| be call|
|000001e0| 65 64 2e 20 54 68 65 79 | 20 6e 65 65 64 0d 20 2a |ed. They| need. *|
|000001f0| 20 20 6f 6e 6c 79 20 68 | 61 76 65 20 74 68 65 20 | only h|ave the |
|00000200| 63 6f 72 72 65 63 74 20 | 73 69 67 6e 61 74 75 72 |correct |signatur|
|00000210| 65 20 61 6e 64 20 63 6f | 6d 70 69 6c 65 20 77 69 |e and co|mpile wi|
|00000220| 74 68 6f 75 74 20 65 72 | 72 6f 72 2e 0d 20 2a 2f |thout er|ror.. */|
|00000230| 0d 0d 2f 2a 0d 20 2a 20 | 20 62 69 67 6e 75 6d 20 |../*. * | bignum |
|00000240| 2d 3e 20 66 69 6c 65 20 | 0d 20 2a 2f 0d 6e 6f 76 |-> file |. */.nov|
|00000250| 61 6c 75 65 20 62 69 67 | 70 72 69 6e 74 28 66 2c |alue big|print(f,|
|00000260| 20 64 61 29 0d 46 49 4c | 45 20 2a 66 3b 0d 64 70 | da).FIL|E *f;.dp|
|00000270| 74 72 20 64 61 3b 0d 7b | 0d 7d 0d 0d 2f 2a 0d 20 |tr da;.{|.}../*. |
|00000280| 2a 20 20 62 69 67 6e 75 | 6d 20 2d 3e 20 72 65 61 |* bignu|m -> rea|
|00000290| 6c 0d 20 2a 2f 0d 64 6f | 75 62 6c 65 20 62 69 67 |l. */.do|uble big|
|000002a0| 74 6f 72 65 61 6c 28 64 | 61 29 0d 64 70 74 72 20 |toreal(d|a).dptr |
|000002b0| 64 61 3b 0d 20 20 20 7b | 0d 20 20 20 72 65 74 75 |da;. {|. retu|
|000002c0| 72 6e 20 30 2e 30 3b 0d | 20 20 20 7d 0d 0d 2f 2a |rn 0.0;.| }../*|
|000002d0| 0d 20 2a 20 20 62 69 67 | 6e 75 6d 20 2d 3e 20 73 |. * big|num -> s|
|000002e0| 74 72 69 6e 67 0d 20 2a | 2f 0d 69 6e 74 20 62 69 |tring. *|/.int bi|
|000002f0| 67 74 6f 73 28 64 61 2c | 20 64 78 29 0d 64 70 74 |gtos(da,| dx).dpt|
|00000300| 72 20 64 61 2c 20 64 78 | 3b 0d 20 20 20 7b 0d 20 |r da, dx|;. {. |
|00000310| 20 20 72 65 74 75 72 6e | 20 30 3b 0d 20 20 20 7d | return| 0;. }|
|00000320| 0d 0d 2f 2a 0d 20 2a 20 | 20 64 61 20 2d 3e 20 64 |../*. * | da -> d|
|00000330| 78 0d 20 2a 2f 0d 69 6e | 74 20 63 70 62 69 67 6e |x. */.in|t cpbign|
|00000340| 75 6d 28 64 61 2c 20 64 | 78 29 0d 64 70 74 72 20 |um(da, d|x).dptr |
|00000350| 64 61 2c 20 64 78 3b 0d | 20 20 20 7b 0d 20 20 20 |da, dx;.| {. |
|00000360| 72 65 74 75 72 6e 20 30 | 3b 0d 20 20 20 7d 0d 0d |return 0|;. }..|
|00000370| 2f 2a 0d 20 2a 20 20 64 | 61 20 2f 20 64 62 20 2d |/*. * d|a / db -|
|00000380| 3e 20 64 78 0d 20 2a 2f | 0d 69 6e 74 20 62 69 67 |> dx. */|.int big|
|00000390| 64 69 76 28 64 61 2c 20 | 64 62 2c 20 64 78 29 0d |div(da, |db, dx).|
|000003a0| 64 70 74 72 20 64 61 2c | 20 64 62 2c 20 64 78 3b |dptr da,| db, dx;|
|000003b0| 0d 20 20 20 7b 0d 20 20 | 20 72 65 74 75 72 6e 20 |. {. | return |
|000003c0| 30 3b 0d 20 20 20 7d 0d | 0d 2f 2a 0d 20 2a 20 20 |0;. }.|./*. * |
|000003d0| 64 61 20 25 20 64 62 20 | 2d 3e 20 64 78 0d 20 2a |da % db |-> dx. *|
|000003e0| 2f 0d 69 6e 74 20 62 69 | 67 6d 6f 64 28 64 61 2c |/.int bi|gmod(da,|
|000003f0| 20 64 62 2c 20 64 78 29 | 0d 64 70 74 72 20 64 61 | db, dx)|.dptr da|
|00000400| 2c 20 64 62 2c 20 64 78 | 3b 0d 20 20 20 7b 0d 20 |, db, dx|;. {. |
|00000410| 20 20 72 65 74 75 72 6e | 20 30 3b 0d 20 20 20 7d | return| 0;. }|
|00000420| 0d 0d 2f 2a 0d 20 2a 20 | 20 69 61 6e 64 28 64 61 |../*. * | iand(da|
|00000430| 2c 20 64 62 29 20 2d 3e | 20 64 78 0d 20 2a 2f 0d |, db) ->| dx. */.|
|00000440| 69 6e 74 20 62 69 67 61 | 6e 64 28 64 61 2c 20 64 |int biga|nd(da, d|
|00000450| 62 2c 20 64 78 29 0d 64 | 70 74 72 20 64 61 2c 20 |b, dx).d|ptr da, |
|00000460| 64 62 2c 20 64 78 3b 0d | 20 20 20 7b 0d 20 20 20 |db, dx;.| {. |
|00000470| 72 65 74 75 72 6e 20 30 | 3b 0d 20 20 20 7d 0d 0d |return 0|;. }..|
|00000480| 2f 2a 0d 20 2a 20 20 69 | 6f 72 28 64 61 2c 20 64 |/*. * i|or(da, d|
|00000490| 62 29 20 2d 3e 20 64 78 | 0d 20 2a 2f 0d 69 6e 74 |b) -> dx|. */.int|
|000004a0| 20 62 69 67 6f 72 28 64 | 61 2c 20 64 62 2c 20 64 | bigor(d|a, db, d|
|000004b0| 78 29 0d 64 70 74 72 20 | 64 61 2c 20 64 62 2c 20 |x).dptr |da, db, |
|000004c0| 64 78 3b 0d 20 20 20 7b | 0d 20 20 20 72 65 74 75 |dx;. {|. retu|
|000004d0| 72 6e 20 30 3b 0d 20 20 | 20 7d 0d 0d 2f 2a 0d 20 |rn 0;. | }../*. |
|000004e0| 2a 20 20 78 6f 72 28 64 | 61 2c 20 64 62 29 20 2d |* xor(d|a, db) -|
|000004f0| 3e 20 64 78 0d 20 2a 2f | 0d 69 6e 74 20 62 69 67 |> dx. */|.int big|
|00000500| 78 6f 72 28 64 61 2c 20 | 64 62 2c 20 64 78 29 0d |xor(da, |db, dx).|
|00000510| 64 70 74 72 20 64 61 2c | 20 64 62 2c 20 64 78 3b |dptr da,| db, dx;|
|00000520| 0d 20 20 20 7b 0d 20 20 | 20 72 65 74 75 72 6e 20 |. {. | return |
|00000530| 30 3b 0d 20 20 20 7d 0d | 0d 2f 2a 0d 20 2a 20 20 |0;. }.|./*. * |
|00000540| 6e 65 67 61 74 69 76 65 | 20 69 66 20 64 61 20 3c |negative| if da <|
|00000550| 20 64 62 0d 20 2a 20 20 | 7a 65 72 6f 20 69 66 20 | db. * |zero if |
|00000560| 64 61 20 3d 3d 20 64 62 | 0d 20 2a 20 20 70 6f 73 |da == db|. * pos|
|00000570| 69 74 69 76 65 20 69 66 | 20 64 61 20 3e 20 64 62 |itive if| da > db|
|00000580| 0d 20 2a 2f 0d 77 6f 72 | 64 20 62 69 67 63 6d 70 |. */.wor|d bigcmp|
|00000590| 28 64 61 2c 20 64 62 29 | 0d 64 70 74 72 20 64 61 |(da, db)|.dptr da|
|000005a0| 2c 20 64 62 3b 0d 20 20 | 20 7b 0d 20 20 20 72 65 |, db;. | {. re|
|000005b0| 74 75 72 6e 20 28 77 6f | 72 64 29 30 3b 0d 20 20 |turn (wo|rd)0;. |
|000005c0| 20 7d 0d 0d 2f 2a 0d 20 | 2a 20 20 3f 64 61 20 2d | }../*. |* ?da -|
|000005d0| 3e 20 64 78 0d 20 2a 2f | 20 20 0d 69 6e 74 20 62 |> dx. */| .int b|
|000005e0| 69 67 72 61 6e 64 28 64 | 61 2c 20 64 78 29 0d 64 |igrand(d|a, dx).d|
|000005f0| 70 74 72 20 64 61 2c 20 | 64 78 3b 0d 20 20 20 7b |ptr da, |dx;. {|
|00000600| 0d 20 20 20 72 65 74 75 | 72 6e 20 30 3b 0d 20 20 |. retu|rn 0;. |
|00000610| 20 7d 0d 0d 2f 2a 0d 20 | 2a 2a 2a 2a 2a 2a 2a 2a | }../*. |********|
|00000620| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000630| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000640| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000650| 2a 2a 2a 2a 2a 0d 20 2a | 0d 20 2a 20 54 68 65 20 |*****. *|. * The |
|00000660| 66 6f 6c 6c 6f 77 69 6e | 67 20 72 6f 75 74 69 6e |followin|g routin|
|00000670| 65 73 20 61 72 65 20 63 | 61 6c 6c 65 64 20 77 68 |es are c|alled wh|
|00000680| 65 6e 20 6f 76 65 72 66 | 6c 6f 77 20 68 61 73 20 |en overf|low has |
|00000690| 6f 63 63 75 72 72 65 64 | 0d 20 2a 20 20 20 64 75 |occurred|. * du|
|000006a0| 72 69 6e 67 20 6f 72 64 | 69 6e 61 72 79 20 61 72 |ring ord|inary ar|
|000006b0| 69 74 68 6d 65 74 69 63 | 2e 0d 20 2a 2f 0d 0d 2f |ithmetic|.. */../|
|000006c0| 2a 0d 20 2a 20 20 64 61 | 20 2b 20 64 62 20 2d 3e |*. * da| + db ->|
|000006d0| 20 64 78 0d 20 2a 2f 0d | 69 6e 74 20 62 69 67 61 | dx. */.|int biga|
|000006e0| 64 64 28 64 61 2c 20 64 | 62 2c 20 64 78 29 0d 64 |dd(da, d|b, dx).d|
|000006f0| 70 74 72 20 64 61 2c 20 | 64 62 3b 0d 64 70 74 72 |ptr da, |db;.dptr|
|00000700| 20 64 78 3b 0d 20 20 20 | 7b 0d 20 20 20 74 5f 65 | dx;. |{. t_e|
|00000710| 72 72 6f 72 6e 75 6d 62 | 65 72 20 3d 20 32 30 33 |rrornumb|er = 203|
|00000720| 3b 0d 20 20 20 74 5f 65 | 72 72 6f 72 76 61 6c 75 |;. t_e|rrorvalu|
|00000730| 65 20 3d 20 6e 75 6c 6c | 64 65 73 63 3b 0d 20 20 |e = null|desc;. |
|00000740| 20 74 5f 68 61 76 65 5f | 76 61 6c 20 3d 20 30 3b | t_have_|val = 0;|
|00000750| 0d 20 20 20 72 65 74 75 | 72 6e 20 45 72 72 6f 72 |. retu|rn Error|
|00000760| 3b 0d 20 20 20 7d 0d 0d | 2f 2a 0d 20 2a 20 20 64 |;. }..|/*. * d|
|00000770| 61 20 2a 20 64 62 20 2d | 3e 20 64 78 0d 20 2a 2f |a * db -|> dx. */|
|00000780| 0d 69 6e 74 20 62 69 67 | 6d 75 6c 28 64 61 2c 20 |.int big|mul(da, |
|00000790| 64 62 2c 20 64 78 29 0d | 64 70 74 72 20 64 61 2c |db, dx).|dptr da,|
|000007a0| 20 64 62 2c 20 64 78 3b | 0d 20 20 20 7b 0d 20 20 | db, dx;|. {. |
|000007b0| 20 74 5f 65 72 72 6f 72 | 6e 75 6d 62 65 72 20 3d | t_error|number =|
|000007c0| 20 32 30 33 3b 0d 20 20 | 20 74 5f 65 72 72 6f 72 | 203;. | t_error|
|000007d0| 76 61 6c 75 65 20 3d 20 | 6e 75 6c 6c 64 65 73 63 |value = |nulldesc|
|000007e0| 3b 0d 20 20 20 74 5f 68 | 61 76 65 5f 76 61 6c 20 |;. t_h|ave_val |
|000007f0| 3d 20 30 3b 0d 20 20 20 | 72 65 74 75 72 6e 20 45 |= 0;. |return E|
|00000800| 72 72 6f 72 3b 0d 20 20 | 20 7d 0d 0d 2f 2a 0d 20 |rror;. | }../*. |
|00000810| 2a 20 20 2d 69 20 2d 3e | 20 64 78 0d 20 2a 2f 0d |* -i ->| dx. */.|
|00000820| 69 6e 74 20 62 69 67 6e | 65 67 28 64 61 2c 20 64 |int bign|eg(da, d|
|00000830| 78 29 0d 64 70 74 72 20 | 64 61 2c 20 64 78 3b 0d |x).dptr |da, dx;.|
|00000840| 20 20 20 7b 0d 20 20 20 | 74 5f 65 72 72 6f 72 6e | {. |t_errorn|
|00000850| 75 6d 62 65 72 20 3d 20 | 32 30 33 3b 0d 20 20 20 |umber = |203;. |
|00000860| 74 5f 65 72 72 6f 72 76 | 61 6c 75 65 20 3d 20 6e |t_errorv|alue = n|
|00000870| 75 6c 6c 64 65 73 63 3b | 0d 20 20 20 74 5f 68 61 |ulldesc;|. t_ha|
|00000880| 76 65 5f 76 61 6c 20 3d | 20 30 3b 0d 20 20 20 72 |ve_val =| 0;. r|
|00000890| 65 74 75 72 6e 20 45 72 | 72 6f 72 3b 0d 20 20 20 |eturn Er|ror;. |
|000008a0| 7d 0d 0d 2f 2a 0d 20 2a | 20 20 64 61 20 2d 20 64 |}../*. *| da - d|
|000008b0| 62 20 2d 3e 20 64 78 0d | 20 2a 2f 20 0d 69 6e 74 |b -> dx.| */ .int|
|000008c0| 20 62 69 67 73 75 62 28 | 64 61 2c 20 64 62 2c 20 | bigsub(|da, db, |
|000008d0| 64 78 29 0d 64 70 74 72 | 20 64 61 2c 20 64 62 2c |dx).dptr| da, db,|
|000008e0| 20 64 78 3b 0d 20 20 20 | 7b 0d 20 20 20 74 5f 65 | dx;. |{. t_e|
|000008f0| 72 72 6f 72 6e 75 6d 62 | 65 72 20 3d 20 32 30 33 |rrornumb|er = 203|
|00000900| 3b 0d 20 20 20 74 5f 65 | 72 72 6f 72 76 61 6c 75 |;. t_e|rrorvalu|
|00000910| 65 20 3d 20 6e 75 6c 6c | 64 65 73 63 3b 0d 20 20 |e = null|desc;. |
|00000920| 20 74 5f 68 61 76 65 5f | 76 61 6c 20 3d 20 30 3b | t_have_|val = 0;|
|00000930| 0d 20 20 20 72 65 74 75 | 72 6e 20 45 72 72 6f 72 |. retu|rn Error|
|00000940| 3b 0d 20 20 20 7d 0d 0d | 2f 2a 0d 20 2a 20 2a 2a |;. }..|/*. * **|
|00000950| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000960| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000970| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000980| 2a 2a 2a 2a 2a 2a 0d 20 | 2a 0d 20 2a 20 54 68 65 |******. |*. * The|
|00000990| 20 72 65 6d 61 69 6e 69 | 6e 67 20 72 6f 75 74 69 | remaini|ng routi|
|000009a0| 6e 65 73 20 65 61 63 68 | 20 72 65 71 75 69 72 65 |nes each| require|
|000009b0| 73 20 64 69 66 66 65 72 | 65 6e 74 20 68 61 6e 64 |s differ|ent hand|
|000009c0| 6c 69 6e 67 2e 0d 20 2a | 2f 0d 0d 2f 2a 0d 20 2a |ling.. *|/../*. *|
|000009d0| 20 20 72 65 61 6c 20 2d | 3e 20 62 69 67 6e 75 6d | real -|> bignum|
|000009e0| 0d 20 2a 2f 0d 69 6e 74 | 20 72 65 61 6c 74 6f 62 |. */.int| realtob|
|000009f0| 69 67 28 64 61 2c 20 64 | 78 29 0d 64 70 74 72 20 |ig(da, d|x).dptr |
|00000a00| 64 61 2c 20 64 78 3b 0d | 20 20 20 7b 0d 20 20 20 |da, dx;.| {. |
|00000a10| 72 65 74 75 72 6e 20 46 | 61 69 6c 65 64 3b 20 20 |return F|ailed; |
|00000a20| 2f 2a 20 63 6f 6e 76 65 | 72 73 69 6f 6e 20 63 61 |/* conve|rsion ca|
|00000a30| 6e 6e 6f 74 20 62 65 20 | 64 6f 6e 65 20 2a 2f 0d |nnot be |done */.|
|00000a40| 20 20 20 7d 0d 0d 2f 2a | 0d 20 2a 20 20 64 61 20 | }../*|. * da |
|00000a50| 5e 20 64 62 20 2d 3e 20 | 64 78 0d 20 2a 2f 0d 69 |^ db -> |dx. */.i|
|00000a60| 6e 74 20 62 69 67 70 6f | 77 28 64 61 2c 20 64 62 |nt bigpo|w(da, db|
|00000a70| 2c 20 64 78 29 0d 64 70 | 74 72 20 64 61 2c 20 64 |, dx).dp|tr da, d|
|00000a80| 62 2c 20 64 78 3b 0d 20 | 20 20 7b 0d 20 20 20 43 |b, dx;. | {. C|
|00000a90| 5f 69 6e 74 65 67 65 72 | 20 72 3b 0d 20 20 20 65 |_integer| r;. e|
|00000aa0| 78 74 65 72 6e 20 69 6e | 74 20 6f 76 65 72 5f 66 |xtern in|t over_f|
|00000ab0| 6c 6f 77 3b 0d 0d 20 20 | 20 2f 2a 0d 20 20 20 20 |low;.. | /*. |
|00000ac0| 2a 20 4a 75 73 74 20 64 | 6f 20 6f 72 64 69 6e 61 |* Just d|o ordina|
|00000ad0| 72 79 20 69 6e 74 65 72 | 67 65 72 20 65 78 70 6f |ry inter|ger expo|
|00000ae0| 6e 65 6e 74 69 61 74 69 | 6f 6e 20 61 6e 64 20 63 |nentiati|on and c|
|00000af0| 68 65 63 6b 20 66 6f 72 | 20 6f 76 65 72 66 6c 6f |heck for| overflo|
|00000b00| 77 2e 0d 20 20 20 20 2a | 2f 0d 20 20 20 72 20 3d |w.. *|/. r =|
|00000b10| 20 69 69 70 6f 77 28 49 | 6e 74 56 61 6c 28 2a 64 | iipow(I|ntVal(*d|
|00000b20| 61 29 2c 20 49 6e 74 56 | 61 6c 28 2a 64 62 29 29 |a), IntV|al(*db))|
|00000b30| 3b 0d 20 20 20 69 66 20 | 28 6f 76 65 72 5f 66 6c |;. if |(over_fl|
|00000b40| 6f 77 29 20 7b 0d 20 20 | 20 20 20 20 6b 5f 65 72 |ow) {. | k_er|
|00000b50| 72 6f 72 6e 75 6d 62 65 | 72 20 3d 20 32 30 33 3b |rornumbe|r = 203;|
|00000b60| 0d 20 20 20 20 20 20 6b | 5f 65 72 72 6f 72 74 65 |. k|_errorte|
|00000b70| 78 74 20 3d 20 22 22 3b | 0d 20 20 20 20 20 20 6b |xt = "";|. k|
|00000b80| 5f 65 72 72 6f 72 76 61 | 6c 75 65 20 3d 20 6e 75 |_errorva|lue = nu|
|00000b90| 6c 6c 64 65 73 63 3b 0d | 20 20 20 20 20 20 68 61 |lldesc;.| ha|
|00000ba0| 76 65 5f 65 72 72 76 61 | 6c 20 3d 20 30 3b 0d 20 |ve_errva|l = 0;. |
|00000bb0| 20 20 20 20 20 72 65 74 | 75 72 6e 20 45 72 72 6f | ret|urn Erro|
|00000bc0| 72 3b 0d 20 20 20 20 20 | 20 7d 0d 20 20 20 4d 61 |r;. | }. Ma|
|00000bd0| 6b 65 49 6e 74 28 72 2c | 20 64 78 29 0d 20 20 20 |keInt(r,| dx). |
|00000be0| 72 65 74 75 72 6e 20 53 | 75 63 63 65 65 64 65 64 |return S|ucceeded|
|00000bf0| 3b 0d 20 20 20 7d 0d 0d | 2f 2a 0d 20 2a 20 20 73 |;. }..|/*. * s|
|00000c00| 74 72 69 6e 67 20 2d 3e | 20 62 69 67 6e 75 6d 20 |tring ->| bignum |
|00000c10| 0d 20 2a 2f 0d 77 6f 72 | 64 20 62 69 67 72 61 64 |. */.wor|d bigrad|
|00000c20| 69 78 28 73 69 67 6e 2c | 20 72 2c 20 73 2c 20 65 |ix(sign,| r, s, e|
|00000c30| 6e 64 5f 73 2c 20 72 65 | 73 75 6c 74 29 0d 69 6e |nd_s, re|sult).in|
|00000c40| 74 20 73 69 67 6e 3b 20 | 20 20 20 20 20 20 20 20 |t sign; | |
|00000c50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 | | /* |
|00000c60| 27 2d 27 20 6f 72 20 6e | 6f 74 20 2a 2f 0d 69 6e |'-' or n|ot */.in|
|00000c70| 74 20 72 3b 20 20 20 20 | 20 20 20 20 20 20 20 20 |t r; | |
|00000c80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 2f 2a | | /*|
|00000c90| 20 72 61 64 69 78 20 32 | 20 2e 2e 20 33 36 20 2a | radix 2| .. 36 *|
|00000ca0| 2f 0d 63 68 61 72 20 2a | 73 2c 20 2a 65 6e 64 5f |/.char *|s, *end_|
|00000cb0| 73 3b 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |s; | |
|00000cc0| 20 20 20 20 20 20 20 20 | 20 20 2f 2a 20 69 6e 70 | | /* inp|
|00000cd0| 75 74 20 73 74 72 69 6e | 67 20 2a 2f 0d 75 6e 69 |ut strin|g */.uni|
|00000ce0| 6f 6e 20 6e 75 6d 65 72 | 69 63 20 2a 72 65 73 75 |on numer|ic *resu|
|00000cf0| 6c 74 3b 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 |lt; | /* |
|00000d00| 6f 75 74 70 75 74 20 54 | 5f 49 6e 74 65 67 65 72 |output T|_Integer|
|00000d10| 20 6f 72 20 54 5f 4c 72 | 67 69 6e 74 20 2a 2f 0d | or T_Lr|gint */.|
|00000d20| 20 20 20 7b 0d 20 20 20 | 2f 2a 0d 20 20 20 20 2a | {. |/*. *|
|00000d30| 20 4a 75 73 74 20 64 6f | 20 73 74 72 69 6e 67 20 | Just do| string |
|00000d40| 74 6f 20 6f 72 64 69 6e | 61 72 79 20 69 6e 74 65 |to ordin|ary inte|
|00000d50| 67 65 72 2e 0d 20 20 20 | 20 2a 2f 0d 20 20 20 72 |ger.. | */. r|
|00000d60| 65 74 75 72 6e 20 72 61 | 64 69 78 28 73 69 67 6e |eturn ra|dix(sign|
|00000d70| 2c 20 72 2c 20 73 2c 20 | 65 6e 64 5f 73 2c 20 72 |, r, s, |end_s, r|
|00000d80| 65 73 75 6c 74 29 3b 0d | 20 20 20 7d 0d 0d 2f 2a |esult);.| }../*|
|00000d90| 0d 20 2a 20 20 62 69 67 | 73 68 69 66 74 28 64 61 |. * big|shift(da|
|00000da0| 2c 20 64 62 29 20 2d 3e | 20 64 78 0d 20 2a 2f 0d |, db) ->| dx. */.|
|00000db0| 69 6e 74 20 62 69 67 73 | 68 69 66 74 28 64 61 2c |int bigs|hift(da,|
|00000dc0| 20 64 62 2c 20 64 78 29 | 0d 64 70 74 72 20 64 61 | db, dx)|.dptr da|
|00000dd0| 2c 20 64 62 2c 20 64 78 | 3b 0d 20 20 20 7b 0d 20 |, db, dx|;. {. |
|00000de0| 20 20 75 77 6f 72 64 20 | 63 69 3b 20 20 20 20 20 | uword |ci; |
|00000df0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 2f 2a 20 | | /* |
|00000e00| 73 68 69 66 74 20 69 6e | 20 30 73 2c 20 65 76 65 |shift in| 0s, eve|
|00000e10| 6e 20 69 66 20 6e 65 67 | 61 74 69 76 65 20 2a 2f |n if neg|ative */|
|00000e20| 0d 20 20 20 43 5f 69 6e | 74 65 67 65 72 20 63 6a |. C_in|teger cj|
|00000e30| 3b 0d 0d 20 20 20 2f 2a | 0d 20 20 20 20 2a 20 44 |;.. /*|. * D|
|00000e40| 6f 20 61 6e 20 6f 72 64 | 69 6e 61 72 79 20 73 68 |o an ord|inary sh|
|00000e50| 69 66 74 20 2d 20 6e 6f | 74 65 20 74 68 61 74 20 |ift - no|te that |
|00000e60| 64 62 20 69 73 20 61 6c | 77 61 79 73 20 70 6f 73 |db is al|ways pos|
|00000e70| 69 74 69 76 65 20 77 68 | 65 6e 20 74 68 69 73 0d |itive wh|en this.|
|00000e80| 20 20 20 20 2a 20 20 20 | 72 6f 75 74 69 6e 65 20 | * |routine |
|00000e90| 69 73 20 63 61 6c 6c 65 | 64 2e 0d 20 20 20 20 2a |is calle|d.. *|
|00000ea0| 2f 0d 20 20 20 63 69 20 | 3d 20 28 75 77 6f 72 64 |/. ci |= (uword|
|00000eb0| 29 49 6e 74 56 61 6c 28 | 2a 64 61 29 3b 0d 20 20 |)IntVal(|*da);. |
|00000ec0| 20 63 6a 20 3d 20 49 6e | 74 56 61 6c 28 2a 64 62 | cj = In|tVal(*db|
|00000ed0| 29 3b 0d 20 20 20 2f 2a | 0d 20 20 20 20 2a 20 43 |);. /*|. * C|
|00000ee0| 68 65 63 6b 20 66 6f 72 | 20 61 20 73 68 69 66 74 |heck for| a shift|
|00000ef0| 20 6f 66 20 57 6f 72 64 | 53 69 7a 65 20 6f 72 20 | of Word|Size or |
|00000f00| 67 72 65 61 74 65 72 3b | 20 72 65 74 75 72 6e 20 |greater;| return |
|00000f10| 61 6e 20 65 78 70 6c 69 | 63 69 74 20 30 20 62 65 |an expli|cit 0 be|
|00000f20| 63 61 75 73 65 0d 20 20 | 20 20 2a 20 20 74 68 69 |cause. | * thi|
|00000f30| 73 20 69 73 20 62 65 79 | 6f 6e 64 20 43 27 73 20 |s is bey|ond C's |
|00000f40| 64 65 66 69 6e 65 64 20 | 62 65 68 61 76 69 6f 72 |defined |behavior|
|00000f50| 2e 20 20 4f 74 68 65 72 | 77 69 73 65 20 73 68 69 |. Other|wise shi|
|00000f60| 66 74 20 61 73 20 72 65 | 71 75 65 73 74 65 64 2e |ft as re|quested.|
|00000f70| 0d 20 20 20 20 2a 2f 0d | 20 20 20 69 66 20 28 63 |. */.| if (c|
|00000f80| 6a 20 3e 3d 20 57 6f 72 | 64 42 69 74 73 29 0d 20 |j >= Wor|dBits). |
|00000f90| 20 20 20 20 20 63 69 20 | 3d 20 30 3b 0d 20 20 20 | ci |= 0;. |
|00000fa0| 65 6c 73 65 0d 20 20 20 | 20 20 20 63 69 20 3c 3c |else. | ci <<|
|00000fb0| 3d 20 63 6a 3b 0d 20 20 | 20 4d 61 6b 65 49 6e 74 |= cj;. | MakeInt|
|00000fc0| 28 63 69 2c 20 64 78 29 | 0d 20 20 20 72 65 74 75 |(ci, dx)|. retu|
|00000fd0| 72 6e 20 53 75 63 63 65 | 65 64 65 64 3b 0d 20 20 |rn Succe|eded;. |
|00000fe0| 20 7d 0d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 | }......|........|
|00000ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001000| 00 00 01 00 00 00 01 6e | 00 00 00 6e 00 00 00 3e |.......n|...n...>|
|00001010| 0c 93 b0 00 00 06 67 00 | 00 b6 48 6e fe e2 2f 0b |......g.|..Hn../.|
|00001020| 4e ad 00 ca 4a 80 50 4f | 67 5a 26 bc a0 00 00 01 |N...J.PO|gZ&.....|
|00001030| 09 64 6c 72 67 69 6e 74 | 2e 63 02 00 00 00 54 45 |.dlrgint|.c....TE|
|00001040| 58 54 4d 50 53 20 00 00 | 00 00 00 00 00 00 00 00 |XTMPS ..|........|
|00001050| 00 00 54 45 58 54 4d 50 | 53 20 00 00 00 00 00 00 |..TEXTMP|S ......|
|00001060| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001070| 00 00 a6 e0 04 d3 00 00 | 0f 63 00 00 01 ac 00 cb |........|.c......|
|00001080| 60 00 02 e6 2f 0b 2f 0b | 48 6e fe ee 4e ad 01 12 |`..././.|Hn..N...|
|00001090| 4a 80 4f ef 00 0c 67 10 | 2f 06 2f 0b 4e ad 01 22 |J.O...g.|/./.N.."|
|000010a0| 24 40 20 0a 50 4f 66 1c | 2f 0b 70 6a 2f 00 4e ba |$@ .POf.|/.pj/.N.|
|000010b0| f6 e6 2b 6e ff f0 ee e8 | 20 3c 00 00 00 ca 50 4f |..+n....| <....PO|
|000010c0| 60 00 02 a6 27 4a 00 04 | 26 bc b0 00 00 06 20 6b |`...'J..|&..... k|
|000010d0| 00 04 2d 48 fe ea 4a a8 | 00 14 6d 32 7e 01 60 2a |..-H..J.|..m2~.`*|
|000010e0| 20 07 e7 80 22 3c 40 00 | 00 00 c2 b3 08 00 67 16 | ..."<@.|......g.|
|000010f0| 20 07 e7 80 48 73 08 00 | 20 07 e7 80 48 73 08 00 | ...Hs..| ...Hs..|
|00001100| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00001110| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001120| 00 00 00 00 00 00 00 06 | 00 08 00 2a 00 03 01 53 |........|...*...S|
|00001130| 01 fd 00 64 00 1c 01 53 | 01 bd a6 e0 04 d3 00 00 |...d...S|........|
|00001140| 00 00 00 00 00 00 00 00 | 00 00 01 00 00 00 00 1e |........|........|
|00001150| 00 2a 00 03 01 53 01 fd | 00 64 00 1c 01 53 01 bd |.*...S..|.d...S..|
|00001160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001170| 01 00 00 00 01 6e 00 00 | 00 6e 00 00 00 3e 00 47 |.....n..|.n...>.G|
|00001180| 1a 60 06 fc 00 00 00 1c | 00 3e 00 00 4d 50 53 52 |.`......|.>..MPSR|
|00001190| 00 01 00 0a 03 ed ff ff | 00 00 00 00 00 00 00 00 |........|........|
|000011a0| 03 f0 ff ff 00 00 00 4c | 00 49 19 ac 00 00 00 00 |.......L|.I......|
|000011b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000011f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+